Node Stream API
Stream 処理
外部コマンドの出力をファイルへ書き出す
child_process.spawn を使う
出力を pipe でファイルの WriteStream へ code:writestream.ts
new Promise((resolve, reject) => {
const out = fs.createWriteStream(./${file}.json, 'utf8');
const proc = spawn('gcloud', [
'--project=adtrust',
'logging',
'read',
'--format=json',
]);
proc.on('error', reject);
proc.stdout.pipe(out);
proc.stdout.on('end', resolve);
})
メモリ上のデータを CloudStorage へ streaming upload する
ファイルを改行ごとに処理する
code:readline.ts
import * as fs from "fs";
import * as readline from "readline";
const input = fs.createReadStream("hoge.txt", "utf8");
const reader = readline.createInterface({ input });
reader.on("line", (line) => {
console.log(line);
});
reader.on("close", () => {
console.log("done");
});
node-fetch で stream に書き出す